// #ifdef VUE3
import {
  createSSRApp
} from 'vue';
import App from './App.vue';
import store from './store/store.js';

export function createApp() {
  const app = createSSRApp(App);
  app.use(store);
  return {
    app
  }
}

//将按需导入的$http对象
import {
  $http
} from '@escook/request-miniprogram'
// 封装的展示消息提示的方法
uni.$showMsg = function(title = '数据加载失败！', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none'
  })
}
// 在uni-app项目中，可以把$http挂载到uni顶级对象之上，方便全局调用
uni.$http = $http

// 配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net'
// $http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 请求开始之前做一些事情
$http.beforeRequest = function(options) {
  uni.showLoading({
    title: '数据加载中...',
  })
  
  // 判断请求的是否为有权限的 API 接口
  if (options.url.indexOf('/my/') !== -1) {
    // 为请求头添加身份认证字段
    options.header = {
      // 字段的值可以直接从 vuex 中进行获取
      Authorization: store.state.m_user.token,
    }
  }
}

//请求完成之后做一些事情
$http.afterRequest = function() {
  uni.hideLoading()
}
// #endif